/**
 * Appownerinfo Appownerinfo
 * @author ice1938@qq.com 2019-11-28 14:13:14  
 *
 */

$(document).ready(function($) {
	obj.init();
	obj.drawDatatable();
	obj.create_validator();
});

var tt=null;
var validator =null;
var obj = {
drawDatatable : function(data) {
	if (tt != null) {
		return;
	}
	var opt = {
		// paging : true,
		// lengthMenu: [[5, 10, -1], [5, 10, "All"]],
		// lengthChange : false,
		pageLength : 10,
		pagingType : 'numbers',//numbers,simple,simple_numbers,full,full_numbers,first_last_numbers
		searching : false,
		info : true,
		scrollCollapse : true,
		autoWidth : true,
		processing : true,
		serverSide : true,
		dom : 'tipl',
		ordering : true,
		order : [ [ 2, 'desc' ] ],
		paging : true,
		searching : false,
		language : {
			url : $('#datatables_i18n').prop("src")
		},
		ajax : {
			type : 'post',
			url : $('#search_btn').data('href'),
			data : function(d) {
				//serializeObj 框架自扩展
				var param = $("#searchForm").serializeObj();
				$.extend(d,param);
			}
		},
		//第一列显示行号
		rowCallback : function(row, data, index) {
			var info = tt.page.info();
			if (typeof (info) != 'undefined') {
				$('td:eq(0)', row).html(index + info.start + 1);
			} else {
				$('td:eq(0)', row).html(index + 1);
			}
		},
		rowId : 'ownerUuid',
		columns : columns
	};
	
	tt = $('#tt').DataTable(opt);
	$('#tt').data('cur_row_id',[]);
	//注册表格事件
	$('#tt').on('draw.dt', function(e) {
        if ($.isArray($('#tt').data('cur_row_id'))) {
        	for (i= 0; i<$('#tt').data('cur_row_id').length;i++){
        		var id= $('#tt').data('cur_row_id')[i];
        		$('#tt #' + id).addClass('selected');
        	}
		} 
	});
	// 绑定单击事件切换行样式
	$('#tt tbody').on('click', 'tr', function(e) {
			//反向选择
			//$(this).toggleClass('selected');
		if (e.target.type == 'button'){
			if (!$(this).hasClass('selected')){
				tt.$('tr.selected').removeClass('selected');
				$(this).addClass('selected');
				$('#tt').data('cur_row_id',tt.row(this).id());
				var ids = [];
	    		ids.put(tt.row($(this).parents('tr')).id());
	    		$('#tt').data('cur_row_id',ids);
			}
		}
	});
	$('#tt tbody').on('click', '#edit_btn', function(e) {
		var cur_data = tt.row($(this).parents('tr')).data();
		$('#form_modal').data('href', $(e.target).data('href'));
        //拥有者ID
        $("#form_modal .modal-title").text("修改_"+cur_data.ownerUuid);
        $("#form_modal #ownerUuid").val(cur_data.ownerUuid);
        //拥有者/开发商名称
        $("#form_modal #ownerName").val(cur_data.ownerName);
		$('#form_modal').modal('show');
	});
	var deleteBtnHandler = function(e){
		$('#remove_modal').data('href', $(e.target).data('href'));
		var cur_data = tt.row($(this).parents('tr')).data();
		$('#remove_modal').data('info',[cur_data]);
		$('#remove_modal').modal('show');
	};
	$('#tt tbody').on('click', '#delete_btn', deleteBtnHandler);
	
	var appDetailBtnHandler = function(e){
		var cur_data = tt.row($(this).parents('tr')).data();
		window.location.href = $(e.target).data('href')+'?owner='+cur_data['ownerUuid'];
	};
	$('#tt tbody').on('click', '#app_detail_btn', appDetailBtnHandler);
	
},
init : function() {
	// 删除 和 添加事件
	$("#add_btn").on("click", function(e) {
		//防止重复提交
		$(e.target).prop("disabled", true);
		$('#form_modal').data('href', $(e.target).data('href'));
		$("#form_modal .modal-title").text("添加");
         //拥有者/开发商名称
        $("#form_modal #ownerName").val('');
		$('#form_modal').modal('show');
		$(e.target).prop("disabled", false)
	});
	// 查询按钮事件
	$("#search_btn").on("click", function(e) {
		//防止重复提交
		$(e.target).prop("disabled", true);
    	tt.clear();
    	//重置分页记录
    	tt.ajax.reload(function() {
            $(e.target).prop("disabled", false);
        }, false);
	});
	/** 页面定义控件（非JS框架生成的控件）事件注册和定义函数 */
	// 编辑&增加 窗口显示之前恢复验证状态
	$('#form_modal').on('show.bs.modal', function() {
		// 把前面验证的 FORM 恢复到验证前原来的状态 
		if( validator == null){
		   obj.create_validator();
		} else {
		   validator.resetForm();
		}
	});
	// 编辑&增加 窗口shown 事件行为
	$('#form_modal').on('shown.bs.modal', function() {
		// $("#department_workshop_" + flag).val('').trigger("change.select2");
		// $("#department_workshop_" + flag).scombobox('val','');
	});

    // 编辑&增加保存按钮事件
    $("#form_modal #confirm_btn").on("click", function(e) {
        //验证 form 返回成功还是失败。
      	if(!validator.form()){
			return;
		}
      //防止重复提交
		$(e.target).prop("disabled", true);
		var data = {}
        data.ownerName=$("#form_modal #ownerName").val();//拥有者/开发商名称
		data.ownerUuid=$("#form_modal #ownerUuid").val();//拥有者/开发商名称
		$.ajax({
    		url : $('#form_modal').data('href'),
    		type : 'POST',
    		//scriptCharset : 'utf-8',
    	    data : JSON.stringify(data),
    		//dataType : 'json',
    		contentType : "application/json",
    		beforeSend:function(xhr){
			 	$(e.target).prop("disabled", true);
			},
			complete : function(xhr,status) {
                $(e.target).prop("disabled", false);
            },
    		success : function(data) {
    			$('#search_btn').trigger('click');
				$.dialog.tips(data.message,5);
    			$('#form_modal').modal('hide');
    		},
    		error : ajaxerror
    	});
	});

	// 删除 窗口shown 事件行为
	$('#remove_modal').on('show.bs.modal',function() {
		// 获得选中行数据
		var data = $('#remove_modal').data('info');
		var rowdatalength = data.length;
		if (rowdatalength == 0) {
			$('#remove_modal .modal-body').html('请选择一条进行删除.');
			return;
		} else {
			var infos = '';
			for (var i = 0; i < rowdatalength; i++) {
				// TODO infos += '['+data[i].title+'] ';
				infos += '[' + data[i].ownerUuid +data[i].ownerName+ '] ';
			}
			$('#remove_modal .modal-body').html(
					'您确定要删除么(' + infos + ')?');
			return;
		}
	});
	// 批量删除按钮事件
	$("#remove_modal #confirm_btn").on("click", function(e) {
		var ids = [];
		var data = $('#remove_modal').data('info');//tt.rows('.selected').data();
		if(data.length== 0){
		    return;
		}
		for (var i = 0; i < data.length; i++) {
			ids.push(data[i].ownerUuid);
		}
		// var ids = tt.rows().ids();
		$.ajax({
			type : 'post',
			url : $("#remove_modal").data('href'),
			data : JSON.stringify(ids),
			//dataType : 'json',
			contentType : "application/json",
			/*data : {
				data:JSON.stringify(ids)
			},*/
			beforeSend:function(xhr){
			 	$(e.target).prop("disabled", true);
			},
			complete : function(xhr,status) {
                $(e.target).prop("disabled", false);
            },
			success : function(data) {
				$('#remove_modal').modal('hide');
			    $.dialog.tips(data.message,5);
        	    $('#search_btn').trigger('click');
            },
            error : ajaxerror
           });
        //tt.row('.selected').remove().draw(false);
		});
	},

	/**
	 * 创建验证控件
	 */
	create_validator : function() {
		validator = $("#form_modal form").validate({
		// 提交时验证。设置为 false 就用其他方法去验证
		onsubmit : false,
		rules : {
			owner_name : "required",
			//{required : true,number : true,min : 1,max : 2}
			intendant_id : "required"			},
			messages : {}
		});
	}
};
